<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>pybindgen.cppmethod.CppVirtualMethodParentCaller</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pybindgen-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="pybindgen-module.html">Package&nbsp;pybindgen</a> ::
        <a href="pybindgen.cppmethod-module.html">Module&nbsp;cppmethod</a> ::
        Class&nbsp;CppVirtualMethodParentCaller
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class CppVirtualMethodParentCaller</h1><p class="nomargin-top"><span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_pybindge_41" name="uml_class_diagram_for_pybindge_41">
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#class_" title="get the class object this method belongs to" alt="" coords="17,484,455,503"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#__init__" title="Create an object the generates code to wrap a C++ class method." alt="" coords="17,505,455,524"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" title="get the class object this method belongs to" alt="" coords="17,524,455,543"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_declaration" title="pybindgen.cppmethod.CppVirtualMethodParentCaller.generate_declaration" alt="" coords="17,543,455,561"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_class_declaration" title="pybindgen.cppmethod.CppVirtualMethodParentCaller.generate_class_declaration" alt="" coords="17,561,455,580"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_parent_caller_method" title="pybindgen.cppmethod.CppVirtualMethodParentCaller.generate_parent_caller_method" alt="" coords="17,580,455,599"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_call" title="virtual method implementation; do not call" alt="" coords="17,599,455,617"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_py_method_def" title="Get the PyMethodDef entry suitable for this method" alt="" coords="17,617,455,636"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#clone" title="Creates a semi&#45;deep copy of this method wrapper." alt="" coords="17,636,455,655"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html" title="Class that generates a wrapper that calls a virtual method default implementation in a parent base class." alt="" coords="16,467,456,656"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#helper_class" title="Get the C++ helper class, which is used for overriding virtual methods" alt="" coords="17,228,455,247"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#custom_name" title="pybindgen.cppmethod.CppMethod.custom_name" alt="" coords="17,247,455,265"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#set_helper_class" title="Set the C++ helper class, which is used for overriding virtual methods" alt="" coords="17,268,455,287"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_helper_class" title="Get the C++ helper class, which is used for overriding virtual methods" alt="" coords="17,287,455,305"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#matches_signature" title="pybindgen.cppmethod.CppMethod.matches_signature" alt="" coords="17,305,455,324"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#set_custom_name" title="pybindgen.cppmethod.CppMethod.set_custom_name" alt="" coords="17,324,455,343"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#set_class" title="set the class object this method belongs to" alt="" coords="17,343,455,361"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_wrapper_signature" title="pybindgen.cppmethod.CppMethod.get_wrapper_signature" alt="" coords="17,361,455,380"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#generate" title="Generates the wrapper code code_sink &#45;&#45; a CodeSink instance that will &#160;receive the generated code method_name &#45;&#45; actual name the method will get &#160;extra_wrapper_params &#45;&#45; extra parameters the wrapper function should &#160;receive" alt="" coords="17,380,455,399"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_py_method_def_flags" title="Get the PyMethodDef flags suitable for this method" alt="" coords="17,399,455,417"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#__str__" title="str(x)" alt="" coords="17,417,455,436"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html" title="Class that generates a wrapper to a C++ class method" alt="" coords="16,211,456,437"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#PARSE_TUPLE" title="pybindgen.typehandlers.base.ForwardWrapperBase.PARSE_TUPLE" alt="" coords="75,28,397,47"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#PARSE_TUPLE_AND_KEYWORDS" title="pybindgen.typehandlers.base.ForwardWrapperBase.PARSE_TUPLE_AND_KEYWORDS" alt="" coords="75,47,397,65"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#HAVE_RETURN_VALUE" title="pybindgen.typehandlers.base.ForwardWrapperBase.HAVE_RETURN_VALUE" alt="" coords="75,65,397,84"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#reset_code_generation_state" title="pybindgen.typehandlers.base.ForwardWrapperBase.reset_code_generation_state" alt="" coords="75,87,397,105"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#set_parse_error_return" title="pybindgen.typehandlers.base.ForwardWrapperBase.set_parse_error_return" alt="" coords="75,105,397,124"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#write_open_wrapper" title="pybindgen.typehandlers.base.ForwardWrapperBase.write_open_wrapper" alt="" coords="75,124,397,143"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#write_close_wrapper" title="pybindgen.typehandlers.base.ForwardWrapperBase.write_close_wrapper" alt="" coords="75,143,397,161"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#generate_body" title="Generate the wrapper function body code_sink &#45;&#45; a CodeSink object that will receive the code" alt="" coords="75,161,397,180"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html" title="Generic base for all forward wrapper generators." alt="" coords="73,11,399,181"/>
</map>
  <img src="uml_class_diagram_for_pybindge_41.gif" alt='' usemap="#uml_class_diagram_for_pybindge_41" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Class that generates a wrapper that calls a virtual method default 
  implementation in a parent base class.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Methods</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">method</span>,
        <span class="summary-sig-arg">unblock_threads</span>=<span class="summary-sig-default">None</span>)</span><br />
      Create an object the generates code to wrap a C++ class method.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.__init__">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for___init___33-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for___init___33-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for___init___33" name="call_graph_for___init___33">
<area shape="rect" href="pybindgen.cppclass.CppHelperClass-class.html#add_virtual_method" title="cppclass.CppHelperClass.add_virtual_method()" alt="" coords="7,5,452,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#__init__" title="__init__()" alt="" coords="503,5,607,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#__init__" title="CppMethod.__init__()" alt="" coords="656,5,872,37"/>
</map>
  <img src="call_graph_for___init___33.gif" alt='' usemap="#call_graph_for___init___33" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" class="summary-sig-name">get_class</a>(<span class="summary-sig-arg">self</span>)</span><br />
      get the class object this method belongs to</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.get_class">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_get_class_3-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_get_class_3-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_get_class_3" name="call_graph_for_get_class_3">
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#generate" title="CppMethod.generate()" alt="" coords="7,5,233,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" title="get_class()" alt="" coords="284,33,401,65"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_class" title="CppMethod.get_class()" alt="" coords="452,33,679,65"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_call" title="generate_call()" alt="" coords="41,61,199,93"/>
</map>
  <img src="call_graph_for_get_class_3.gif" alt='' usemap="#call_graph_for_get_class_3" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="generate_declaration"></a><span class="summary-sig-name">generate_declaration</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">code_sink</span>,
        <span class="summary-sig-arg">extra_wrapper_parameters</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.generate_declaration">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="generate_class_declaration"></a><span class="summary-sig-name">generate_class_declaration</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">code_sink</span>,
        <span class="summary-sig-arg">extra_wrapper_parameters</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.generate_class_declaration">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="generate_parent_caller_method"></a><span class="summary-sig-name">generate_parent_caller_method</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">code_sink</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.generate_parent_caller_method">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_generate_parent-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_generate_parent-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_generate_parent" name="call_graph_for_generate_parent">
<area shape="rect" href="pybindgen.cppclass.CppHelperClass-class.html#_generate_forward_declarations" title="cppclass.CppHelperClass._generate_forward_declarations()" alt="" coords="5,61,565,93"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_parent_caller_method" title="generate_parent_caller_method()" alt="" coords="613,61,941,93"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_class" title="CppMethod.get_class()" alt="" coords="1116,5,1343,37"/>
<area shape="rect" href="pybindgen.typehandlers.base-module.html#join_ctype_and_name" title="typehandlers.base.join_ctype_and_name()" alt="" coords="1025,61,1433,93"/>
<area shape="rect" href="pybindgen.typehandlers.codesink.MemoryCodeSink-class.html#writeln" title="typehandlers.codesink.MemoryCodeSink.writeln()" alt="" coords="991,117,1468,149"/>
</map>
  <img src="call_graph_for_generate_parent.gif" alt='' usemap="#call_graph_for_generate_parent" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_call" class="summary-sig-name">generate_call</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">class_</span>=<span class="summary-sig-default">None</span>)</span><br />
      virtual method implementation; do not call</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.generate_call">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_generate_call_9-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_generate_call_9-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_generate_call_9" name="call_graph_for_generate_call_9">
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_call" title="generate_call()" alt="" coords="607,33,764,65"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" title="get_class()" alt="" coords="961,5,1079,37"/>
<area shape="rect" href="pybindgen.typehandlers.base.CodeBlock-class.html#write_code" title="typehandlers.base.CodeBlock.write_code()" alt="" coords="815,61,1225,93"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#generate_body" title="typehandlers.base.ForwardWrapperBase.generate_body()" alt="" coords="5,33,557,65"/>
</map>
  <img src="call_graph_for_generate_call_9.gif" alt='' usemap="#call_graph_for_generate_call_9" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_py_method_def" class="summary-sig-name">get_py_method_def</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">method_name</span>=<span class="summary-sig-default">None</span>)</span><br />
      Get the PyMethodDef entry suitable for this method</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.get_py_method_def">source&nbsp;code</a></span>
            <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_get_py_method_d_3-summary-div');return false;">call&nbsp;graph</a></span>&nbsp;
          </td>
        </tr>
      </table>
      <div style="display:none" id="call_graph_for_get_py_method_d_3-summary-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_get_py_method_d_3" name="call_graph_for_get_py_method_d_3">
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_py_method_def_flags" title="CppMethod.get_py_method_def_flags()" alt="" coords="835,5,1213,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_py_method_def" title="get_py_method_def()" alt="" coords="571,5,787,37"/>
<area shape="rect" href="pybindgen.overloading.OverloadedWrapper-class.html#get_py_method_def" title="overloading.OverloadedWrapper.get_py_method_def()" alt="" coords="7,5,521,37"/>
</map>
  <img src="call_graph_for_get_py_method_d_3.gif" alt='' usemap="#call_graph_for_get_py_method_d_3" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#clone" class="summary-sig-name">clone</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Creates a semi-deep copy of this method wrapper.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.clone">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="pybindgen.cppmethod.CppMethod-class.html">CppMethod</a></code></b>:
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#__str__">__str__</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#generate">generate</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#get_helper_class">get_helper_class</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#get_py_method_def_flags">get_py_method_def_flags</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#get_wrapper_signature">get_wrapper_signature</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#matches_signature">matches_signature</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#set_class">set_class</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#set_custom_name">set_custom_name</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#set_helper_class">set_helper_class</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html">typehandlers.base.ForwardWrapperBase</a></code></b>:
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#generate_body">generate_body</a></code>,
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#reset_code_generation_state">reset_code_generation_state</a></code>,
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#set_parse_error_return">set_parse_error_return</a></code>,
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#write_close_wrapper">write_close_wrapper</a></code>,
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#write_open_wrapper">write_open_wrapper</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Class Variables</span></td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html">typehandlers.base.ForwardWrapperBase</a></code></b>:
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#HAVE_RETURN_VALUE">HAVE_RETURN_VALUE</a></code>,
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#PARSE_TUPLE">PARSE_TUPLE</a></code>,
      <code><a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#PARSE_TUPLE_AND_KEYWORDS">PARSE_TUPLE_AND_KEYWORDS</a></code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Properties</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#class_" class="summary-name">class_</a><br />
      get the class object this method belongs to
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="pybindgen.cppmethod.CppMethod-class.html">CppMethod</a></code></b>:
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#custom_name">custom_name</a></code>,
      <code><a href="pybindgen.cppmethod.CppMethod-class.html#helper_class">helper_class</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Method Details</span></td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">method</span>,
        <span class="sig-arg">unblock_threads</span>=<span class="sig-default">None</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.__init__">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for___init___33-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for___init___33-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for___init___33" name="call_graph_for___init___33">
<area shape="rect" href="pybindgen.cppclass.CppHelperClass-class.html#add_virtual_method" title="cppclass.CppHelperClass.add_virtual_method()" alt="" coords="7,5,452,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#__init__" title="__init__()" alt="" coords="503,5,607,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#__init__" title="CppMethod.__init__()" alt="" coords="656,5,872,37"/>
</map>
  <img src="call_graph_for___init___33.gif" alt='' usemap="#call_graph_for___init___33" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>Create an object the generates code to wrap a C++ class method.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>return_value</code></strong> - the method return value</li>
        <li><strong class="pname"><code>method_name</code></strong> - name of the method</li>
        <li><strong class="pname"><code>parameters</code></strong> - the method parameters</li>
        <li><strong class="pname"><code>is_static</code></strong> - whether it is a static method</li>
        <li><strong class="pname"><code>template_parameters</code></strong> - optional list of template parameters needed to invoke the method</li>
        <li><strong class="pname"><code>is_virtual</code></strong> - whether the method is virtual (pure or not)</li>
        <li><strong class="pname"><code>is_const</code></strong> - whether the method has a const modifier on it</li>
        <li><strong class="pname"><code>unblock_threads</code></strong> - whether to release the Python GIL around the method call or not.
          If None or omitted, use global settings.  Releasing the GIL has a
          small performance penalty, but is recommended if the method is 
          expected to take considerable time to complete, because otherwise
          no other Python thread is allowed to run until the method 
          completes.</li>
        <li><strong class="pname"><code>is_pure_virtual</code></strong> - whether the method is defined as &quot;pure virtual&quot;, i.e. 
          virtual method with no default implementation in the class being 
          wrapped.</li>
        <li><strong class="pname"><code>custom_name</code></strong> - alternate name to give to the method, in python side.</li>
        <li><strong class="pname"><code>custom_template_method_name</code></strong> - (deprecated) same as parameter 'custom_name'.</li>
        <li><strong class="pname"><code>visibility</code></strong> - visibility of the method within the C++ class</li>
        <li><strong class="pname"><code>deprecated</code></strong> - deprecation state for this API:
          <ul>
            <li>
              False: Not deprecated
            </li>
            <li>
              True: Deprecated
            </li>
            <li>
              &quot;message&quot;: Deprecated, and deprecation warning 
              contains the given message
            </li>
          </ul></li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="get_class"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_class</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.get_class">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_get_class_3-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for_get_class_3-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_get_class_3" name="call_graph_for_get_class_3">
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#generate" title="CppMethod.generate()" alt="" coords="7,5,233,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" title="get_class()" alt="" coords="284,33,401,65"/>
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_class" title="CppMethod.get_class()" alt="" coords="452,33,679,65"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_call" title="generate_call()" alt="" coords="41,61,199,93"/>
</map>
  <img src="call_graph_for_get_class_3.gif" alt='' usemap="#call_graph_for_get_class_3" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>get the class object this method belongs to</p>
  <dl class="fields">
    <dt>Overrides:
        <a href="pybindgen.cppmethod.CppMethod-class.html#get_class">CppMethod.get_class</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="generate_call"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">generate_call</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">class_</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.generate_call">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_generate_call_9-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for_generate_call_9-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_generate_call_9" name="call_graph_for_generate_call_9">
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#generate_call" title="generate_call()" alt="" coords="607,33,764,65"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" title="get_class()" alt="" coords="961,5,1079,37"/>
<area shape="rect" href="pybindgen.typehandlers.base.CodeBlock-class.html#write_code" title="typehandlers.base.CodeBlock.write_code()" alt="" coords="815,61,1225,93"/>
<area shape="rect" href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#generate_body" title="typehandlers.base.ForwardWrapperBase.generate_body()" alt="" coords="5,33,557,65"/>
</map>
  <img src="call_graph_for_generate_call_9.gif" alt='' usemap="#call_graph_for_generate_call_9" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>virtual method implementation; do not call</p>
  <dl class="fields">
    <dt>Overrides:
        <a href="pybindgen.typehandlers.base.ForwardWrapperBase-class.html#generate_call">typehandlers.base.ForwardWrapperBase.generate_call</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="get_py_method_def"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_py_method_def</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">method_name</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.get_py_method_def">source&nbsp;code</a></span>&nbsp;
    <br /><span class="codelink"><a href="javascript:void(0);" onclick="toggleCallGraph('call_graph_for_get_py_method_d_3-div');return false;">call&nbsp;graph</a></span>&nbsp;</td>
  </tr></table>
  <div style="display:none" id="call_graph_for_get_py_method_d_3-div"><center>
<table border="0" cellpadding="0" cellspacing="0">
  <tr><td><center>  <map id="call_graph_for_get_py_method_d_3" name="call_graph_for_get_py_method_d_3">
<area shape="rect" href="pybindgen.cppmethod.CppMethod-class.html#get_py_method_def_flags" title="CppMethod.get_py_method_def_flags()" alt="" coords="835,5,1213,37"/>
<area shape="rect" href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_py_method_def" title="get_py_method_def()" alt="" coords="571,5,787,37"/>
<area shape="rect" href="pybindgen.overloading.OverloadedWrapper-class.html#get_py_method_def" title="overloading.OverloadedWrapper.get_py_method_def()" alt="" coords="7,5,521,37"/>
</map>
  <img src="call_graph_for_get_py_method_d_3.gif" alt='' usemap="#call_graph_for_get_py_method_d_3" ismap="ismap" class="graph-without-title" />
</center></td></tr>
  <tr><th>Call Graph</th></tr>
</table><br />
</center></div>

  <p>Get the PyMethodDef entry suitable for this method</p>
  <dl class="fields">
    <dt>Overrides:
        <a href="pybindgen.cppmethod.CppMethod-class.html#get_py_method_def">CppMethod.get_py_method_def</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="clone"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">clone</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pybindgen.cppmethod-pysrc.html#CppVirtualMethodParentCaller.clone">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Creates a semi-deep copy of this method wrapper.  The returned method 
  wrapper clone contains copies of all parameters, so they can be modified 
  at will.</p>
  <dl class="fields">
    <dt>Overrides:
        <a href="pybindgen.cppmethod.CppMethod-class.html#clone">CppMethod.clone</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== PROPERTY DETAILS ==================== -->
<a name="section-PropertyDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Property Details</span></td>
</tr>
</table>
<a name="class_"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">class_</h3>
  <p>get the class object this method belongs to</p>
  <dl class="fields">
    <dt>Get Method:</dt>
    <dd class="value"><span class="summary-sig"><a href="pybindgen.cppmethod.CppVirtualMethodParentCaller-class.html#get_class" class="summary-sig-name">get_class</a>(<span class="summary-sig-arg">self</span>)</span>
        - get the class object this method belongs to
    </dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pybindgen-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sun Jul 12 17:23:19 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
